﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ITSP.SharePoint.CacheRefresh.Common
{
    /// <summary>
    /// The Constants for the Project
    /// </summary>
    public class Constants
    {
        /// <summary>
        /// Constants for the Logging Framework/Component
        /// </summary>
        public static class Logging
        {
            public const string DefaultLoggingCategory = "iThink SharePoint/General";
        }

        /// <summary>
        /// Constants related to the SharePoint Lists
        /// </summary>
        public static class Lists
        {
            public const string CacheList = "Cache Configuration";
            public const string CacheListUrl = "Lists/ITSPCacheConfiguration";
            public const string CacheListFeatureId = "de10d09d-dc7d-4cc3-8cb6-9d296526719c";
        }

        /// <summary>
        /// Constants for the Features used by CacheRefresh
        /// </summary>
        public static class Features
        {
            public const string CacheListSettingsFeatureId = "c59e7f07-9b58-4dc5-af2c-e4377cf33c36";
        }

        /// <summary>
        /// Fields class contains internal names of all required fields.
        /// </summary>
        public static class Fields
        {
            // Out of the box fields
            public const string ID = "ID";
            public const string UniqueId = "UniqueId";
            public const string Title = "Title";
            public const string Name = "Name";
            public const string Description = "Comments";
            public const string ContentType = "ContentType";
            public const string ContentTypeId = "ContentTypeId";
            public const string Author = "Author";
            public const string Editor = "Editor";
            public const string Created = "Created";
            public const string CreatedDate = "Created_x0020_Date";
            public const string Modified = "Modified";
            public const string LastModified = "Last_x0020_Modified";
            public const string FileRef = "FileRef";
            public const string FileLeafRef = "FileLeafRef";
            public const string Audience = "Audience";
            public const string PublishingPageImage = "PublishingPageImage";
            public const string PublishingPageLayout = "PublishingPageLayout";
            public const string PublishingContactEmail = "PublishingContactEmail";
            public const string PublishingPageContent = "PublishingPageContent";
            public const string PublishingRollupImage = "PublishingRollupImage";
            public const string Path = "Path";
            public const string Version = "UIVersionString";

            public const string CacheDescription = "ITSPCacheDescription";
            public const string CacheFileDependencyPath = "ITSPCacheFileDependencyPath";
            public const string CacheFrequency = "ITSPCacheFrequency";
            public const string CacheEnabled = "ITSPCacheEnabled";
        }
    }
}
